home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / gemxx19.zoo / gem++19 / include / gemc.h < prev    next >
C/C++ Source or Header  |  1993-11-05  |  1KB  |  47 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. //  GEMcanvas
  4. //
  5. //  A GEMcanvas is a GEMscrollableobject scrolling over a virtual area.
  6. //
  7. //  This file is Copyright 1993 by Warwick W. Allison,
  8. //  This file is part of the gem++ library.
  9. //  You are free to copy and modify these sources, provided you acknowledge
  10. //  the origin by retaining this notice, and adhere to the conditions
  11. //  described in the file COPYING.LIB.
  12. //
  13. /////////////////////////////////////////////////////////////////////////////
  14.  
  15.  
  16. #ifndef GEMc_h
  17. #define GEMc_h
  18.  
  19. #include <gemscro.h>
  20.  
  21. class GEMcanvas : public GEMscrollableobject {
  22. public:
  23.     GEMcanvas(GEMform&, int RSCindex, int width, int height);
  24.     GEMcanvas(GEMform&, int RSCindex); // Unlimited (int) size.
  25.  
  26.     virtual void Scroll(int pixels_right, int pixels_down);
  27.  
  28.     void ScrollTo(int x, int y);
  29.  
  30.     int CanvasWidth() { return w; }
  31.     int CanvasHeight() { return h; }
  32.  
  33.     int CanvasX() { return x; }
  34.     int CanvasY() { return y; }
  35.  
  36. protected:
  37.     virtual void DrawAt(int x, int y, const GRect& area)=0;
  38.  
  39. private:
  40.     virtual void RedrawClipped(int x, int y, const GRect& area);
  41.     int x,y;
  42.     int w,h;
  43. };
  44.  
  45.  
  46. #endif
  47.